using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;

namespace Motionblur.Butler.SOA.Contracts
{

    [ServiceContract(Namespace = "urn:motionblur:butler:2007:07", Name = "ManagementService")]
    public interface IManagementService
    {

        [OperationContract]
        Guid[] GetRegisteredOrders();

        [OperationContract]
        OrderDescription GetOrderDescription(Guid orderID);

        [OperationContract]
        void RegisterOrder(OrderDescription order);

        [OperationContract]
        void UnregisterOrder(Guid orderID);

        [OperationContract]
        void EnableOrder(Guid orderID);

        [OperationContract]
        void DisableOrder(Guid orderID);

        [OperationContract]
        bool IsOrderEnabled(Guid orderID);

        [OperationContract]
        Uri[] GetAvailableWorkflowTypes();

        [OperationContract]
        Uri[] GetAvailableTriggerTypes();

    }

}
